package com.idea.zd.sys.train.io;


import org.apache.commons.io.filefilter.FileFileFilter;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

public class FileTest {

    public static void main(String[] args) throws IOException {
        //以当前路径创建一个File对象
        File file = new File(".");
        //直接获取文件名
        System.out.println(file.getName());
        //获取相对路径的父路径可能出错，下面代码输出null
        System.out.println(file.getParent());
        //获取绝对路径
        System.out.println(file.getAbsoluteFile());
        //获取上一级路径
        System.out.println(file.getAbsoluteFile().getParent());

        //在当前路径下创建一个临时文件
        File tmpFile = File.createTempFile("aaa",".txt",file);
        //退出jvm时删除
        tmpFile.deleteOnExit();
        File newFile = new File(System.currentTimeMillis()+"");

        //创建文件
        newFile.createNewFile();
        //创建目录，已存在创建不了
        newFile.mkdir();

        //使用list方法，列出当前路径下所有文件
        String[] fileList = file.list(new FileFileFilter(){
            @Override
            public boolean accept(File pathname) {

                if(pathname.toString().contains(".")){
                    return false;
                }
                return true;
            }
        });

        for(String fileName:fileList){
            System.out.println("文件名："+fileName);
        }

        //listRoots静态方法列出所有的磁盘根路径
        File[] roots = File.listRoots();

        for (File root:roots){
            System.out.println("磁盘根路径 ："+root);
        }

    }
}
